package com.nowcoder.community.dao;

import com.nowcoder.community.entity.Comment;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface CommentMapper {

    /**
     * 根据实体类型和实体id查询评论（帖子的评论，评论的评论），还要分页
     * @param entityType
     * @param entityId
     * @param offset
     * @param limit
     * @return
     */
    List<Comment> selectCommentsByEntity(int entityType ,int entityId, int offset,int limit);


    /**
     * 根据实体类型和实体id查询评论的数量
     * @param entityType
     * @param entityId
     * @return
     */
    int selectCountByEntity(int entityType ,int entityId);

    /**
     * 增加评论
     * @param comment
     * @return
     */
    int insertComment(Comment comment);

    /**
     * 根据用户id查询用户发布过的评论（分页）
     * @param userId
     * @return
     */
    List<Comment> selectCommentByUserId(int userId, int offset,int limit);



    /**
     * 某个用户发布的评论数量
     *  @Param注解用于给参数取别名,如果只有一个参数,并且在<if>里使用,则必须加别名.
     * @param userId
     * @return
     */
    int selectCountByUser(int userId);


    /**
     * 根据评论id查询评论
     * @param id
     * @return
     */
    Comment selectCommentById(int id);


}
